<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="RvKTI" id="RvKTI"><span data-lake-id="u249059ce" id="u249059ce">典型回答</span></h1>
  <p data-lake-id="u8727f1e8" id="u8727f1e8"><br></p>
  <p data-lake-id="u0e677ce4" id="u0e677ce4"><span data-lake-id="u5013fdd8" id="u5013fdd8">Spring Cloud和Dubbo都是为了简化分布式系统开发而设计的开源框架，Dubbo 和 Spring Cloud 都侧重在对分布式系统中常见问题模式的抽象（如服务发现、负载均衡、动态配置等）</span></p>
  <p data-lake-id="u7f978b01" id="u7f978b01"><br></p>
  <p data-lake-id="ua87c6d85" id="ua87c6d85"><img src="https://cdn.nlark.com/yuque/0/2023/png/5378072/1680876421773-804789b4-187c-4829-8f0d-b05ed7b16952.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_49%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"></p>
  <p data-lake-id="u0c5f5feb" id="u0c5f5feb"><br></p>
  <p data-lake-id="u3df91fe7" id="u3df91fe7"><br></p>
  <p data-lake-id="u1a6388a1" id="u1a6388a1"><span data-lake-id="udc1178d6" id="udc1178d6">它们之间有以下几个区别：</span></p>
  <p data-lake-id="uf4b4946d" id="uf4b4946d"><span data-lake-id="u49ab8ce8" id="u49ab8ce8">​</span><br></p>
  <ol list="u94a49b8c">
   <li fid="ub32ab44c" data-lake-id="u8b8f9eb6" id="u8b8f9eb6"><strong><span data-lake-id="u0e191570" id="u0e191570">底层技术不同</span></strong><span data-lake-id="u70b07505" id="u70b07505">：Spring Cloud是基于Spring Boot和Spring Framework构建的，编程模型与通信协议绑定 HTTP，而Dubbo则是基于Java的RPC框架实现的（Dubbo也支持HTTP协议，但是主要还是以Dubbo协议为主）。</span></li>
  </ol>
  <p data-lake-id="ub2c837da" id="ub2c837da"><br></p>
  <ol list="u94a49b8c" start="2">
   <li fid="ub32ab44c" data-lake-id="ue3ca4c9a" id="ue3ca4c9a"><strong><span data-lake-id="u7db9c79e" id="u7db9c79e">主要的用途不同</span></strong><span data-lake-id="uea488d1c" id="uea488d1c">：Spring Cloud是一个完整的微服务框架，它提供了服务注册与发现、负载均衡、熔断器、配置管理等功能。而Dubbo是一个RPC框架，它主要解决分布式服务之间的调用问题，如服务注册与发现、负载均衡、协议转换、服务治理等。</span></li>
  </ol>
  <p data-lake-id="ubc28ca0f" id="ubc28ca0f"><span data-lake-id="u21433d3a" id="u21433d3a">​</span><br></p>
  <p data-lake-id="u8eaab16f" id="u8eaab16f" style="text-indent: 2em"><span data-lake-id="u836cfa64" id="u836cfa64">在SpringCloud中，服务注册与发现主要通过Eureka、负载均衡主要通过Ribbon、限流降级这些操作主要通过Hystrix，网关服务主要依赖于Zuul。</span></p>
  <p data-lake-id="u7bc0a041" id="u7bc0a041"><br></p>
  <ol list="u94a49b8c" start="3">
   <li fid="ub32ab44c" data-lake-id="u1d948905" id="u1d948905"><strong><span data-lake-id="ua08911e6" id="ua08911e6">社区生态不同</span></strong><span data-lake-id="u2b618708" id="u2b618708">：Spring Cloud是由Spring社区维护的，拥有庞大的社区和丰富的生态系统，能够支持多种云平台。而Dubbo则是由阿里巴巴开发和维护的（后来捐给了Apache），虽然拥有较为活跃的社区和强大的阿里巴巴技术支持，但生态系统相对较小。</span></li>
  </ol>
  <p data-lake-id="ud76e1162" id="ud76e1162"><br></p>
  <ol list="u94a49b8c" start="4">
   <li fid="ub32ab44c" data-lake-id="u5acac767" id="u5acac767"><strong><span data-lake-id="u212ccfe1" id="u212ccfe1">语言支持不同</span></strong><span data-lake-id="uf8845988" id="uf8845988">：Spring Cloud是基于Java语言实现的，同时也支持其他语言的开发，如Kotlin、Groovy、Scala等。而Dubbo则是一个纯Java实现的RPC框架，只支持Java语言开发（</span><span data-lake-id="u995e45cb" id="u995e45cb" class="lake-fontsize-12" style="color: rgb(34, 34, 34)">Dubbo-go框架支持go语言</span><span data-lake-id="uf8b9db77" id="uf8b9db77">）。</span></li>
  </ol>
  <p data-lake-id="u1cf91bdc" id="u1cf91bdc"><span data-lake-id="u52180da5" id="u52180da5"><br></span><span data-lake-id="u31423a0b" id="u31423a0b"> </span></p>
  <h1 data-lake-id="p5Bm0" id="p5Bm0"><span data-lake-id="u5c04200d" id="u5c04200d">扩展知识</span></h1>
  <p data-lake-id="u41195baf" id="u41195baf"><br></p>
  <h2 data-lake-id="uSo74" id="uSo74"><span data-lake-id="u7b921eb5" id="u7b921eb5">如何选择</span></h2>
  <p data-lake-id="uba913b77" id="uba913b77"><br></p>
  <p data-lake-id="u452374d5" id="u452374d5"><span data-lake-id="u5c1f0f72" id="u5c1f0f72">如果项目主要使用Spring Boot和Spring Framework技术栈，可以选择Spring Cloud。如果项目使用Java语言且不依赖于Spring技术栈，可以选择Dubbo。</span></p>
  <p data-lake-id="ua4735b9b" id="ua4735b9b"><span data-lake-id="ue34cf6fe" id="ue34cf6fe">​</span><br></p>
  <p data-lake-id="u24568d20" id="u24568d20"><span data-lake-id="u5ecdd797" id="u5ecdd797">如果你需要将应用部署到云平台上，Spring Cloud提供了更多的云原生支持，包括对Kubernetes和Istio的支持。</span></p>
  <p data-lake-id="u700b4573" id="u700b4573"><span data-lake-id="ue0e7220e" id="ue0e7220e">​</span><br></p>
  <p data-lake-id="uefe6ab3e" id="uefe6ab3e"><span data-lake-id="ue4987a6c" id="ue4987a6c">如果你的项目需要强大的服务治理能力，例如多协议支持、多注册中心支持等，那么选择Dubbo可能更适合。Dubbo提供了强大的服务治理能力，可以满足各种不同的需求。</span></p>
 </body>
</html>